iT邦幫忙

DAY 1
11

node.js伺服器實戰系列 第 1

node.js伺服器實戰(1) - node.js簡介

  • 分享至 

  • xImage
  •  

先稍微簡單介紹一下,什麼是node.js。
作者
node.js是Ryan Dahl於2009年jsconf上發表的伺服器端Javascript環境,他為了解決伺服器效能的問題,在嘗試過幾種方案後,開始利用Google剛發布不久的V8 Javascript引擎與Evented I/O機制,創造了一個高速的伺服器端Javascript環境。目前,node.js已經成為瀏覽器之外最重要的Javascript使用環境。

什麼是node.js
V8的速度很快,這就不用做太多介紹了。至於Evented I/O,可能需要簡單說明一下。CPU運作的速度,與I/O運作的速度差距很大,這是程式效能上需要優先考量的問題。在撰寫伺服器時,過去常會使用輪詢的方式來監聽資源,但是這個方式效率很差。比較好的方式是在監聽的資源有異動時,由作業系統直接通知,才進行處理。現代的作業系統其實都具備這樣的功能,例如Linux的epoll、BSD的kqueue以及Windows的IOCP等。node.js就是把執行速度很快的V8與Evented I/O做了很好的結合,並且設計了相當容易使用的API,所以使用者越來越多。

node.js是一個完全獨立的程式環境,完全不依賴其他伺服器,這對於熟悉php、.net這些環境的開發者,可能會有點陌生。不過也因為這樣,開發者可以完全掌控整個伺服器的運作過程,也可以激發很多創意。

除了執行效率,node.js也實做了符合commonjs 1.0規格的模組機制。模組是在獨立的Context中執行,透過模組機制,除了可以讓程式架構更有彈性,程式管理與維護也更有容易。

目前node.js穩定版本在4.x版,開發版本在5.x版。5.x版有一個重要的目標,就是Widnows作業系統的支援。預計下一個穩定版本的node.js,會有完整的Windows支援。

資源
* node.js官網:http://nodejs.org/ (原始碼、執行檔下載,api文件)
* 原始碼:http://github.net/joyent/nodejs (版本管理)
* NPM:http://npmjs.org (npm是node.js環境中最歡迎的套件管理工具,上面也可以利用關鍵字搜尋套件)
* 繁體中文資源:http://nodejs.tw (一些熱血人士架設的平台,目前是用facebook粉絲團發布最新消息,利用google site建立中文wiki)
* 簡體中文資源:http://cnnodejs.com (對岸的...東西比較多)

挑戰目標
接下來的29天,除了花幾天簡單介紹node.js的使用方式、API、必備知識等,其他幾天就慢慢透過node.js逐步開發一個網頁伺服器。

相關文章


下一篇
node.js伺服器實戰(2) - 環境建置
系列文
node.js伺服器實戰33
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
海綿寶寶
iT邦大神 1 級 ‧ 2011-10-11 10:18:10


大家包袱可以收一收回家了
醉

因為
fillano大大已經出手了
灑花灑花拍照灑花灑花

krarm iT邦好手 1 級 ‧ 2011-10-11 12:40:53 檢舉

海綿大大高手別醉了,還有貳獎,三獎等著您呢。

就算都沒有,我還有露營燈,已知足。

鐵殼心 iT邦高手 1 級 ‧ 2011-10-11 12:57:29 檢舉

kradark提到:
就算都沒有,我還有露營燈,已知足。

有露營燈可以拿?驚 不是每個人發20個練成獎牌嗎?疑惑

0
krarm
iT邦好手 1 級 ‧ 2011-10-11 12:39:04

六大派圍攻光明頂,高手都是關鍵時刻才出現的。

拍照愛你

0
總裁
iT邦好手 1 級 ‧ 2011-10-11 12:58:57

啊~我的六萬飛
先生,你又沒參賽,六萬跟你有關係嗎??....不耐煩
噎到無言倒

0
SunAllen
iT邦研究生 1 級 ‧ 2011-10-13 01:21:25

很努力的看了很多遍,不過還在了解中倒

我要留言

立即登入留言